4
תגובות
היי אני רוצה ללמוד לפתח לwordpress בoop אבל אני לא מבין מה המשמעות של ה$this בתוך המערך?
add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) );

4 תשובות

avatar ענה Splash ב 17 לאפריל 2014 #

$this במקרה הזה מתייחס למאפיינים של המחלקה,כדי לדעת מה אתה שולח תעלה לתחילת הקוד ותחפש את ההכרזה על המאפיינים.

אני מציע לך לפני שאתה מתחיל לפתח ב OOP ללמוד את הבסיס.

avatar ענה intval ב 17 לאפריל 2014 #

במקרה הזה מדובר ב callback (פונקציה שתופעל כאשר יקרה wmpu_new_blog )
בדרך כלל callbackים אפשר לרשום פשוט תור שם הפונקציה

add_action( 'wpmu_new_blog', 'blabla');


אבל מה קורה כאשר הפונקציה שאתה רוצה שתופעל היא מתודה של אובייקט כלשהו?
class A
{
  public function blabla() { }
}

$aInstance = new A();

add_action( 'wpmu_new_blog', '???');


ב-PHP אי אפשר לכתוב פשוט
add_action( 'wpmu_new_blog', '$aInstance->blabla');

בגלל שהוא יחשוב שזה השם המלא של הפונקציה.
לכן callbackים שהם מתודות נהוג לכתוב בצורת מערך:

add_action( 'wpmu_new_blog', [$aInstance,'blabla']);

והפונקציה שתופעל היא blabla של המופע aInstance.

במקרה שלך מפעילים את הפונקציה active_new_site על המופע $this (שזה המופע של המחלקה הנוכחית)
http://phpguide.co.il/phplive?code=914

avatar ענה 1alexmelo ב 17 לאפריל 2014 #

אלכס תודה רבה .

avatar ענה KingYes ב 19 לאפריל 2014 #

הייתי ממליץ לך אחרי שתלמד את הבסיס של OOP ב-PHP, ללמוד גם איך עובדים עם פילטרים / אקשיינים ב-WordPress.
חשוב מאוד ללמוד "מתי ואיך" אותו Hook רץ, בשביל לדעת גם איזה פרמטרים הוא צריך לקבל (ולהחזיר).